domain builder: make vfb = [ 'type=sdl' ] work
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 11 Feb 2008 10:06:51 +0000 (10:06 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 11 Feb 2008 10:06:51 +0000 (10:06 +0000)
When setting

vfb = [ 'type=sdl' ]

in a domain config file, qemu seems to be still using vnc. Make it use
sdl as expected.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
tools/python/xen/xend/image.py

index 02ea81c74885342a64d6f9767a762baf027c3434..0519e32a26be56efd6c1b2d4a69c76e4dd63803d 100644 (file)
@@ -91,12 +91,12 @@ class ImageHandler:
                         ("image/cmdline", self.cmdline),
                         ("image/ramdisk", self.ramdisk))
 
-        self.dmargs = self.parseDeviceModelArgs(vmConfig)
         self.device_model = vmConfig['platform'].get('device_model')
 
         self.display = vmConfig['platform'].get('display')
         self.xauthority = vmConfig['platform'].get('xauthority')
         self.vncconsole = vmConfig['platform'].get('vncconsole')
+        self.dmargs = self.parseDeviceModelArgs(vmConfig)
         self.pid = None
 
 
@@ -204,8 +204,14 @@ class ImageHandler:
         for dev_uuid in vmConfig['console_refs']:
             dev_type, dev_info = vmConfig['devices'][dev_uuid]
             if dev_type == 'vfb':
-                vnc_config = dev_info.get('other_config', {})
-                has_vnc = True
+                vfb_type = dev_info.get('type', {})
+                if vfb_type == 'sdl':
+                    self.display = dev_info.get('display', {})
+                    self.xauthority = dev_info.get('xauthority', {})
+                    has_sdl = True
+                else:
+                    vnc_config = dev_info.get('other_config', {})
+                    has_vnc = True
                 break
 
         keymap = vmConfig['platform'].get("keymap")